﻿/**
	@file	Game.h
	@date	2013/1/12
	@author	김진식(jeensig@gmail.com)
	@brief	메인 게임
*/
#ifndef _GAME_H_
#define _GAME_H_

#include "Position.h"
#include <string>

class InputProcess;
class GameInterface;
/**
	@class	TetrisGame
	@date	2013/1/12
	@author	김진식(jeensig@gmail.com)
	@brief	메인 게임
*/
class TetrisGame
{
public:
	TetrisGame();
	~TetrisGame();
	
	void Update(); ///< 게임이 실행 되는 곳
	void Render(); ///< 게임이 출력 되는 곳

	void ChangeState(GameInterface* new_state);

	void SetInputProcess(InputProcess* new_input);
	InputProcess* GetInputProcess();

private:
	TETRIS_STATE game_state_;

	GameInterface* current_state_;

	InputProcess* input_process_;
};

#endif